home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1998 September
/
Macworld (1998-09).dmg
/
Serious Demos
/
DesignWorks 4.0.1 Demo PPC
/
Design Kits
/
PCB Shared Items
/
Error Scripts
/
PCB Errors
< prev
next >
Wrap
Text File
|
1997-05-22
|
4KB
|
115 lines
{
Error checking script for Generic PCB Design Kit
C. Dewhurst, May 13, 1996
©1996 Capilano Computing Systems Ltd.
This script checks for:
- Devices without a package code
- Bad device names
- Bad or duplicate pin numbers
- Bad or duplicate signal names
}
$CHECK(This script is intended only for FLAT mode designs) $PURE $PHYSICAL
$PROGRESS $OFF
{
Listing defaults
}
$CREATEREPORT($TEMPPATH$DESIGNNAME Errors)
$SIGSOURCE(Ground)
$SIGSOURCE(Plus5V) &Power
$DESIGNSIGSOURCE &SigSources
$AUTONUMBER(3)
$BUSNAMEON(_)
$SETVAR(_AnyErrors, 0)
{
Issue a warning if any devices have no package code
}
$FIND $DEVICES $AND($ERRORBITOFF(8),$NOT(&Package))
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$DEVICES\$OBJECT $DEVLOC$NEWLINE\$ERRBIT 8$NEWLINE\$MESSAGE\Device $DEVNAME on page $PAGE has no Package attribute.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $DEVCOUNT))
{
Check for multiple package codes in same package
}
$FIND $DEVICES
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$FIND $NOCLEAR $DEVICES $GT($COUNTVALUES(&Package), 1) $ERRORBITOFF(9)
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$DEVICES\$OBJECT $DEVLOC$NEWLINE\$ERRBIT 9$NEWLINE\$MESSAGE Device $DEVNAME on page(s) $PAGE has inconsistent package codes.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $DEVCOUNT))
{
Check for duplicate pin numbers
}
$FIND $DEVICES
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$DEVPINFORMAT $GT($SAMEPINCOUNT, 1)
$FIND $SIGNALS
$FIND $NOCLEAR $DEVICES $NONBLANK($MERGE$PINS) $ERRORBITOFF(10)
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$DEVICES\$OBJECT $DEVLOC$NEWLINE\$ERRBIT 10$NEWLINE\$MESSAGE Device $DEVNAME on page(s) $PAGE has duplicate pin numbers.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $DEVCOUNT))
{
Check for invalid pin numbers
}
$DEVPINFORMAT $REGEXP(\D?|.*\D.*, $PINNUM)
$FIND $DEVICES $NONBLANK($PINS) $ERRORBITOFF(11)
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$DEVICES\$OBJECT $DEVLOC$NEWLINE\$ERRBIT 11$NEWLINE\$MESSAGE Device $DEVNAME on page(s) $PAGE has invalid pin numbers.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $DEVCOUNT))
{
Check for bad device names
}
$FIND $DEVICES $NOT($REGEXP(\w+, $DEVNAME)) $ERRORBITOFF(0)
$SORT $DEVICES $DEVNAME
$COMBDEVSON
$DEVICES\$OBJECT $DEVLOC$NEWLINE\$ERRBIT 0$NEWLINE\$MESSAGE Device $DEVNAME on page(s) $PAGE has an invalid name.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $DEVCOUNT))
{
Check for bad signal names
}
$UNNAMEDSIGS(????)
$FIND $SIGNALS $NOT($REGEXP(\w+, $SIGNAME)) $ERRORBITOFF(0)
$SORT $SIGNALS $SIGNAME
$FIND $DEVICES
$SIGNALS\$OBJECT $SIGLOC$NEWLINE\$ERRBIT 0$NEWLINE\$MESSAGE Signal $SIGNAME on page(s) $PAGE has an invalid name.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $SIGCOUNT))
{
Check for duplicate signal names
}
$FIND $SIGNALS
$COMBSIGSON
$SORT $SIGNALS $SIGNAME
$FIND $NOCLEAR $SIGNALS $COUNT(2) $ERRORBITOFF(1)
$SORT $SIGNALS $SIGNAME
$SIGNALS\$OBJECT $SIGLOC$NEWLINE\$ERRBIT 1$NEWLINE\$MESSAGE Signals $SIGNAME on page(s) $PAGE have duplicate names.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $SIGCOUNT))
{
Check for unconnected signals
}
$FIND $DEVICES
$FIND $SIGNALS $NUMPINS(1) $NOT($NUMPINS(2)) $ERRORBITOFF(2)
$COMBSIGSOFF
$SORT $SIGNALS $SIGNAME
$SIGNALS\$OBJECT $SIGLOC$NEWLINE\$ERRBIT 2$NEWLINE\$MESSAGE Signals $SIGNAME on page(s) $PAGE has only one pin connection.
$SETVAR(_AnyErrors, $PLUS(&_AnyErrors, $SIGCOUNT))
{
Write out $TITLE line for ErrorScript window
}
\$TITLE
&_AnyErrors errors found! Error file is $TEMPPATH$DESIGNNAME Errors.
{
Close the report output to the text file.
All subsequent output will go to ErrorScript as the file name.
}
$CLOSEREPORT
{
Return report file name for ErrorScript
}
$TEMPPATH$DESIGNNAME Errors